package com.lcj.mis.feign;

import com.lcj.common.util.Result;
import com.lcj.mis.controller.form.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Author : lcj
 * @create 2022/11/19 19:32
 */
@FeignClient(value = "aoch-dr")
public interface DrServiceApi {

    /**
     * 分页查询司机数据
     * @param form
     * @return Result
     */
    @PostMapping("/driver/searchDriverByPage")
    public Result searchDriverByPage(SearchDriverByPageForm form);

    /**
     * 查询司机实名信息摘要
     * @param form
     * @return Result
     */
    @PostMapping("/driver/searchDriverRealSummary")
    public Result searchDriverRealSummary(DriverBaseInfoForm form);

    @GetMapping("/driver/searchDriverIsRealAuth/{driverId}")
    public Result searchDriverIsRealAuth(@RequestParam("driverId") Long driverId);

    @PostMapping("/driver/updateDriverRealAuth")
    public Result updateDriverRealAuth(UpdateDriverRealAuthForm form);

    @PostMapping("/driver/searchDriverBriefInfo")
    public Result searchDriverBriefInfo(DriverBaseInfoForm form);

    @PostMapping("/fine/addOrUpdateDriverFine")
    Result addOrUpdate(DriverFineForm form);

    @PostMapping("/fine/selectDriverFine")
    Result selectDriverFine(SearchFineForm form);

    @PostMapping("/fine/deleteDriverFine")
    Result delete(DriverFineForm form);

    @PostMapping("/lockdown/add")
    Result add(DriverLockDownForm form);

    @PostMapping("/lockdown/delete")
    Result delete(DriverLockDownForm form);

    @PostMapping("/lockdown/update")
    Result update(DriverLockDownForm form);

    @PostMapping("/lockdown/get")
    Result get(DriverLockDownForm form);

    @PostMapping("/lockdown/list")
    Result list(DriverLockDownForm form);
}